package com.campsys.mapping;

import com.campsys.domain.TManagerStudent;
import com.campsys.domain.TManagerTeacher;
import com.campsys.domain.param.StudentAddExcel;
import com.campsys.domain.param.StudentAddParam;
import com.campsys.domain.param.StudentUpdateParam;
import com.campsys.domain.param.UserAddParam;
import com.campsys.domain.vo.*;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface StudentMapping {

    StudentMapping INSTANCE = Mappers.getMapper(StudentMapping.class);

    UserAddParam toUser(StudentAddParam studentAddParam);

    TManagerStudent to(StudentAddParam studentAddParam);

    TManagerStudent to(StudentUpdateParam studentUpdateParam);

    List<StudentPageVo> toPage(List<TManagerStudent> list);

    List<StudentListVo> toList(List<TManagerStudent> list);

    StudentInfoVo to(TManagerStudent tManagerStudent);

    List<StudentAddParam> to(List<StudentAddExcel> list);
}
